package com.cj.yudada.scoring;

import com.cj.yudada.common.ErrorCode;
import com.cj.yudada.exception.BusinessException;
import com.cj.yudada.model.entity.App;
import com.cj.yudada.model.entity.UserAnswer;
import com.cj.yudada.model.enums.AppTypeEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * 编程式： 所有的东西都在代码里面实现，，不用去看别的东西，，看这个文件就知道所有的操作
 *
 * 根据 不同的策略  执行不同的算法，，，  ===》  执行器
 * @author cc
 * @date 2024-11-10 19:37
 **/
@Service
@Deprecated
public class ScoringStrategyContext {

    @Autowired
    CustomTestScoringStrategyImpl customTestScoringStrategy;
    @Autowired
    CustomScoreScoringStrategyImpl customScoreScoringStrategy;



    public UserAnswer doScore(List<String> choices, App app){
        AppTypeEnum appTypeEnum = AppTypeEnum.getEnumByValue(app.getAppType());


        if (appTypeEnum == null){
            throw new BusinessException(ErrorCode.SYSTEM_ERROR,"应用配置有误，没有找到对应的策略");
        }


        switch (appTypeEnum){
            case SCORE:
                break;
            case TEST:
                break;
            default:
                throw new BusinessException(ErrorCode.SYSTEM_ERROR,"应用配置有误，没有找到对应的策略");
        }


        throw new BusinessException(ErrorCode.SYSTEM_ERROR,"应用配置有误，没有找到对应的策略");

    }
}
